There are central network config files for Snappy, Server, Client, MaaS, cloud-init in /etc/netplan/*.yaml. All installers only generate such a file, no /etc/network/interfaces any more. There is also a netplan command line tool to drive some operations. Systems are configured during early boot with a “network renderer” which reads /e/n/*.yaml and writes configuration to /run to hand off control of devices to the specified networking daemon. network: version: 2 # if specified globally, can only realistically have that value, as networkd cannot # render wifi/3G. This would be shipped as a separate config.d/ by desktop images. # it can also be specified by-type or by-device #renderer: NetworkManager ethernets: # opaque ID for physical interfaces with match rules, only referred to by # other stanzas id0: match: macaddress: 00:11:22:33:44:55 wakeonlan: true dhcp4: true addresses: - 192.168.14.2/24 - 2001:1::1/64 lom: # example for explicitly setting a backend (default would be networkd) renderer: network-manager match: driver: ixgbe # you are responsible for setting tight enough match rules # that only match one device if you use set-name set-name: lom1 dhcp6: true switchports: # all cards on second PCI bus; unconfigured by themselves, will be added # to br0 below match: name: enp2* mtu: 1280 wifis: all-wlans: # useful on a system where you know there is only ever going to be one device match: {} access-points: "Joe's home": # mode defaults to "managed" (client), key type to wpa-psk password: "s3kr1t" # this creates an AP on wlp1s0 using hostapd; no match rules, thus ID # is the interface name wlp1s0: access-points: "guest": mode: ap channel: 11 # no WPA config implies default of open bridges: # renderer: NetworkManager # the key name is the name for virtual (created) interfaces; # no ‘match’ or ‘set-name’ attributes are allowed. br0: # IDs of the components; switchports expands into multiple interfaces interfaces: [wlp1s0, switchports] dhcp4: true routes: - to: 0.0.0.0/0 via: 11.0.0.1 metric: 3 nameservers: search: [foo.local, bar.local] addresses: [8.8.8.8]